package chapter07;

import java.util.ArrayList;
import java.util.Comparator;

public class java03_Collection_Sort {
    public static void main(String[] args) {
        // TODO 集合 - Collection - list
        // Sort 排序
        ArrayList list = new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);

        // 排序需要传递一个实现了比较器接口的对象
        list.sort( new NumberComparator() );
        System.out.println(list);


    }
}
// 前—后  =升序     后—前 =降序
// compare是一个接口里的方法，想实现接口必须做重写
// 原理是接收两个参数，返回一个值，如果为正，就要把参数1排在参数2后面，为负反之
class NumberComparator implements Comparator<Integer> {
    @Override
    public int compare(Integer o1, Integer o2) {
        // 如果第一个数比第二个数要大，那么返回结果为正数，表示升序
//        return o1 - o2;
        // 如果第一个数比第二个数要小，那么返回结果为负数，表示降序
//        return o2 - o1;
        // 如果第一个数和第二个数一样大，那么返回结果为0
        return 0;
    }
}